<?php
header('Content-Type: application/json; charset=utf-8');

// 引入数据库配置
$dbConfig = include('db_config.php');

// 获取前端传过来的文件 ID
$file_id = $_POST['file_id'] ?? '';

// 检查文件 ID 是否为空
if (empty($file_id)) {
    $result = [
        'status' => 'error',
        'message' => '文件 ID 不能为空'
    ];
    echo json_encode($result, JSON_UNESCAPED_UNICODE);
    exit;
}

// 创建数据库连接
try {
    $dsn = "mysql:host=" . $dbConfig['host'] . ";dbname=" . $dbConfig['dbname'] . ";charset=" . $dbConfig['charset'];
    $pdo = new PDO($dsn, $dbConfig['username'], $dbConfig['password']);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // 查询文件信息
    $selectFileStmt = $pdo->prepare("SELECT * FROM mi_file WHERE id = :file_id");
    $selectFileStmt->bindParam(':file_id', $file_id);
    $selectFileStmt->execute();
    $file = $selectFileStmt->fetch(PDO::FETCH_ASSOC);

    if (!$file) {
        $result = [
            'status' => 'error',
            'message' => '文件不存在'
        ];
        echo json_encode($result, JSON_UNESCAPED_UNICODE);
        exit;
    }

    // 获取文件路径、封面路径和图标路径
    $fileLink = $file['文件链接'] ?? '';
    $fileCover = $file['文件封面'] ?? '';
    $fileIcon = $file['文件图标'] ?? '';

    // 删除文件
    if (!empty($fileLink) && file_exists($fileLink)) {
        unlink($fileLink);
    }

    if (!empty($fileCover) && file_exists($fileCover)) {
        unlink($fileCover);
    }

    if (!empty($fileIcon) && file_exists($fileIcon)) {
        unlink($fileIcon);
    }

    // 删除数据库中的文件记录
    $deleteFileStmt = $pdo->prepare("DELETE FROM mi_file WHERE id = :file_id");
    $deleteFileStmt->bindParam(':file_id', $file_id);
    $deleteFileStmt->execute();

    // 检查删除是否成功
    if ($deleteFileStmt->rowCount() > 0) {
        $result = [
            'status' => 'success',
            'message' => '文件删除成功'
        ];
    } else {
        $result = [
            'status' => 'error',
            'message' => '文件删除失败'
        ];
    }

    echo json_encode($result, JSON_UNESCAPED_UNICODE);

} catch (PDOException $e) {
    // 数据库操作失败
    $result = [
        'status' => 'error',
        'message' => '数据库操作失败：' . $e->getMessage()
    ];
    echo json_encode($result, JSON_UNESCAPED_UNICODE);
} catch (Exception $e) {
    // 其他异常
    $result = [
        'status' => 'error',
        'message' => '操作失败：' . $e->getMessage()
    ];
    echo json_encode($result, JSON_UNESCAPED_UNICODE);
}
?>